<? if (!defined("DB_PEREFIX")) exit;

global $db, $template, $RUN, $MODULE;

//получаем внешние параметры
if (isset($_GET['cat'])) 
	$cat = addslashes($_GET['cat']);
if (isset($RUN['params'][0])) 
	$cat = addslashes($RUN['params'][0]);
if (isset($_GET['id'])) 
	$id = intval ($_GET['id']);

//сортируем по id статьи
$order = 'art_id';

//если выбрана статья
if ( isset($_GET['id']) ) 
{
	$option = "art_id = '$id'";
/*	if (!isset($_GET['id']) && preg_match("#^[a-z0-9_-]+$#", $_GET['url'])) 
	{
		$url = htmlspecialchars ($_GET['url']);
		$option = "art_url_name = '$url'";
	}*/
	
	//получаем данные о статье
	$GET_ARTICLE = $db->query ("SELECT a.*, auto_tag, u.user_name, ac.cat_header, ac.cat_description, ac.cat_users, ac.cat_rating, ac.cat_id 
		FROM ".DB_PEREFIX."_articles AS a 
		JOIN ".DB_PEREFIX."_users AS u ON (a.art_author = u.user_id)
		LEFT JOIN ".DB_PEREFIX."_art_category AS ac ON (a.art_category = ac.cat_name)
		WHERE $option");
			
	if ($db->num_rows($GET_ARTICLE) == 1) 
	{
		$article = $db->fetch_array ($GET_ARTICLE);
		
		$body = $article['art_body'];
		
		if ($article['auto_tag'] == "yes") $body = n2br($body);
		//else $body = $article['art_body'];
		
		$body = input_video (replace_symbols ($body));
		
		// Если пост должен вести себя как страница
		if ($article['art_like_page'] == "yes") 
		{
			past_table ($article['art_header'], $body);
		}
		else 
		{
			// ========================================
			//print $template->display ('blog','art_panel.tpl');
					
		
			$PAGE_TITLE = $article['art_header'].' / ';
			
			if ($article['cat_header'] == '')
				$PAGE_TITLE .= 'Персональный блог "'.$article['user_name'].'"';
			else
				$PAGE_TITLE .= $article['cat_header'];
				
				
			$options = "";
			if (in_blog($article['cat_id'])) 
				$options .= str_replace ('{ID}', $article['cat_id'], get_element ('{exit_blog}', '{/exit_blog}'));
			elseif (is_registered()) 
				$options .= str_replace ('{ID}', $article['cat_id'], get_element ('{join_blog}', '{/join_blog}'));
		
			// Если коллективный блог то выводим информацию о блоге
			if ($article['cat_id'] != '')
			{
				$blog_karma = $article['cat_rating'];
		
				// HACK:  
				if (!is_registered() || my_karma() < 0 || isset($_COOKIE['blog_'.$article['art_category']])) 
					$karma_bar = 'no';
				elseif ($blog_karma >= 0) 
					$karma_bar = 'good';
				else 
					$karma_bar = 'bad';

				($article['cat_users'] == '')	
					? $usrs = 0 
					: $usrs = $article['cat_users'];

				(file_exists ('images/blogs/'.$article['art_category'].'.jpg')) 
					? $blog_avatar = '/images/blogs/'.$article['art_category'].'.jpg'
					: $blog_avatar = '/images/noavatar.gif';
					
 			 	//данные о блоге для представления 
				$data_blog = array( 
									'blog_karma'	=> number_format ($article['cat_rating'], 2, ',', ''),
									'blog_name'		=> $article['art_category'],
									'blog_header'	=> $article['cat_header'],
									'blog_desc'		=> $article['cat_description'],
									'blog_users'	=>  $usrs,
									'blog_avatar'	=> $blog_avatar,
									'karma_bar'		=> $karma_bar,
									'options'		=> $options
								);	
			}
			else
			{
				// Если блог персональный
				$data_blog = array();
			}	
							
			// Если присланы данные для удаления комментария
			if ($_GET['del_com'] == "true" && isset ($_GET['com_id'])) 
				delete_comment($_GET['com_id']);

			// Если прислан комментарий то добавляем его
			if (isset($_POST['com_body'])) 
			{
				add_comment ($_POST['com_name'], $_POST['com_mail'], $_POST['com_body'], 'articles', $id, $_POST['code']);
			}
			
			// данные о записи в блоге для представления
			$data = array( 
							'rating'		=> print_rating ($id, $article['art_rating'], $article['art_author'], $article['art_voters']),
							'art_header'	=> $article['art_header'],
							'art_id'		=> $id,
							'body'			=> $body,
							'date'			=> format_time($article['art_date']),
							'author_id'		=> $article['art_author'],
							'author_name'	=> $article['user_name'],
							'tags'			=> print_tags ($article['art_tags']),
							'image'			=> $article['art_image'],
							);
							
			// Выводим представление 
			load_module_view('blog', 'article',  array_merge($data, $data_blog));
			
			print '<a name="comments"></a><div id="comments_div">';
			print_comments ('blog', $id, '/blog/'.$id.'.html');
			print '</div>';
			
			if ($article['art_comments'] == 'on') past_com_table ('/blog/'.$id.'.html#comments');
			if (isset($_POST['com_body'])) 
			echo '<script type="text/javascript">
						document.getElementById("new_comment").style.display = "";
						document.getElementById("com_body").value = "";
					</script>';
		
			// ========================================
		}
	}
	else error_404 ();
}
else 
{

	// Формируем меню навигации
	if (!isset($_GET['user'])) 
	{
		past_navblock (array (
							array ('Написать статью', '/blog/edit/add/', 'cat', 'add'),
							array ('Поиск по тегам', '/blog/tags/', 'cat', 'tags'),
							array ('Комментарии', '/blog/comments/', 'name', 'art_comments'),
							array ('TOP блогов', '/blog/top/', 'name', 'top'),		
							)
					);
	}

	past_articles ();	
}
